package com.emex.app.shared.ws;

import com.emex.app.shared.data.Cost;
import com.emex.app.shared.data.CostExample;
import com.emex.app.shared.data.CostType;
import com.emex.app.shared.data.PlanFact;
import java.util.Date;
import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;

/**
 *
 * @author Sergey Karavaev
 */
@WebService(targetNamespace = "http://emex.com/Cost")
public interface CostWebService {

    @WebMethod
    public int deleteCostByPrimaryKey(Integer id);

    @WebMethod
    public Cost insertCost(Cost record);

    @WebMethod
    public List<Cost> selectCostByExample(CostExample costExample);

    @WebMethod
    public Cost selectCostByPrimaryKey(Integer id);

    @WebMethod
    public Cost updateCostByPrimaryKey(Cost record);

    @WebMethod
    public List<Cost> getAllCostsByDate(Date date);

    @WebMethod
    public List<Cost> getAllCostsByDateAndCostType(Date startDate, Date endDate, Integer costTypeId);

    @WebMethod
    public List<Cost> getAllCostsByDateEqualOrGrater(Date date);

    @WebMethod
    public int deleteCostTypeByPrimaryKey(Integer id);

    @WebMethod
    public CostType insertCostType(CostType record);

    @WebMethod
    public List<CostType> getAllCostTypes();

    @WebMethod
    public CostType updateCostType(CostType record);

    @WebMethod
    public CostType selectCostTypeByPrimaryKey(Integer id);

    @WebMethod
    public PlanFact insertPlanFact(PlanFact record);

    @WebMethod
    public PlanFact updatePlanFact(PlanFact record);

    @WebMethod
    public PlanFact getCurrentMonthPlanFact();
}
